package com.nb.service;

import com.nb.vo.admin.*;
import com.nb.vo.admin.BodyOV.AdminHostitalUpdate;
import com.nb.vo.admin.BodyOV.AdminSettingUpdateCost;
import com.nb.vo.admin.BodyOV.AdminUsersAdd;
import com.nb.vo.admin.BodyOV.AdminUsersUpdate;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface AdminService {

    //获取用户表数据
    List<AdminGetUsers> getAllUsers();

    //修改用户接口
    boolean updateUser(AdminUsersUpdate body);

    //删除用户接口
    boolean deleteUser(String id);

    boolean addUser(AdminUsersAdd body);

    boolean updateAddAdmin(String id);

    boolean updateDeleteAdmin(String id);

    AdminSettingBase getHospitalInfo();

    boolean updateHospitalInfo(AdminHostitalUpdate body);

    List<AdminSettingStructure> getSettingStructure();

    TwoArrReturn getSettingConsultation();

    TwoArrReturn getSettingAppointment();

    List<AdminPermissions> getPermissions();

    List<AdminSettingCost> getSettingCost();

    boolean updateSettingCost(List<AdminSettingUpdateCost> body);

    // 数据备份
    String backupData();
    
    // 数据恢复
    boolean restoreData(MultipartFile file);
    
    // 获取备份记录
    List<BackupRecordVO> getBackupRecords();
    
    // 下载备份文件
    byte[] downloadBackup(Integer id);
}
